export type Recordable<T = any> = Record<string, T>;

// Partial所有属性可选
export type PartialType = Partial<Recordable>;

// Required所有属性必选
export type RequiredType = Required<Recordable>;

// Readonly所有属性可读
export type ReadonlyType = Readonly<Recordable>;

// Pick抽取对象中属性
export type PickType = Pick<Recordable, "key1" | "key2">;

// Omit去除对象中属性
export type OmitType = Omit<Recordable, "key1" | "key2">;

// Record生成接口
export type RecordType = Record<"key1" | "key2", Recordable>;

export interface MenuProps {
	path?: string;
	title: string;
	icon?: string;
	children?: MenuProps[];
}